package com.aiyi.education.entity;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
* <p>
*
用户表
* </p>
* <p>
* Created by  Generator on 2020/04/23
* </p>
* <p>

//表 ks_user 字段列表：
* </p>
* <p>
(user_id , group_id , ask_rank_id , depart_id , user_name , password , question , answer , email , real_name , mobile , is_mobile_rz , sex , birthday , id_card , address , home_page , user_face , privacy , check_num , reg_date , join_date , last_login_time , last_login_ip , login_times , charge_type , begin_date , e_days , money , score , score_has_use , point , locked , rnd_password , zipcode , interest , pic , qq_token , qq_open_id , sina_id , sina_token , alipay_id , is_api , end_date , load_type , load_end_group_id , last_login_device , pro_id , city_id , county_id , agent , wei_xin_open_id , inputer , item_id , child_id , union_id , app_id , is_weixin_unbind , company_name , pp_user_id , p_user_id , totalMoney , order_device , setting , salt , school_id , load_end_group_date , is_agent , is_ag , tags_ids , is_bind_gz , course_name , picture , ISRZ , my_school_group_id , api_token , open_space , space_name , zan_count , collect_count , hits , sign , intro )
* </p>
* <p>

//对象 KsUser 属性列表：
* </p>
* <p>
(userId , groupId , askRankId , departId , userName , password , question , answer , email , realName , mobile , isMobileRz , sex , birthday , idCard , address , homePage , userFace , privacy , checkNum , regDate , joinDate , lastLoginTime , lastLoginIp , loginTimes , chargeType , beginDate , eDays , money , score , scoreHasUse , point , locked , rndPassword , zipcode , interest , pic , qqToken , qqOpenId , sinaId , sinaToken , alipayId , isApi , endDate , loadType , loadEndGroupId , lastLoginDevice , proId , cityId , countyId , agent , weiXinOpenId , inputer , itemId , childId , unionId , appId , isWeixinUnbind , companyName , ppUserId , pUserId , totalmoney , orderDevice , setting , salt , schoolId , loadEndGroupDate , isAgent , isAg , tagsIds , isBindGz , courseName , picture , isrz , mySchoolGroupId , apiToken , openSpace , spaceName , zanCount , collectCount , hits , sign , intro )
* </p>
* <p>

//表 ks_user 字段中文解释：
* </p>
* <p>
(user_id="用户ID号/INTEGER" , group_id="所属用户组ID/INTEGER" , ask_rank_id="所属问答等级ID/INTEGER" , depart_id="所属部门ID/INTEGER" , user_name="用户名/VARCHAR" , password="登录密码（MD5加密）/VARCHAR" , question="提问问题/VARCHAR" , answer="问题答案/VARCHAR" , email="邮件/VARCHAR" , real_name="真实姓名/VARCHAR" , mobile="手机号码/VARCHAR" , is_mobile_rz="手机是否经过实名认证/TINYINT" , sex="性别/VARCHAR" , birthday="出生日期/VARCHAR" , id_card="身份证号码/VARCHAR" , address="联系地址/VARCHAR" , home_page="个人主页/VARCHAR" , user_face="头像/VARCHAR" , privacy="隐私设置/INTEGER" , check_num="激活码/VARCHAR" , reg_date="注册日期/TIMESTAMP" , join_date="加入日期/TIMESTAMP" , last_login_time="最后登录的时间/TIMESTAMP" , last_login_ip="最后登录的IP/VARCHAR" , login_times="登录次数/INTEGER" , charge_type="收费模式/INTEGER" , begin_date="收费开始日期/TIMESTAMP" , e_days="有效天数/INTEGER" , money="可用金额/DECIMAL" , score="可用积分/INTEGER" , score_has_use="已消费积分/INTEGER" , point="可用点券/DECIMAL" , locked="0 正常 1锁定 2待人工审核 3待邮件验证/INTEGER" , rnd_password="随机密码（用于防止多人同时登录）/VARCHAR" , zipcode="邮编/VARCHAR" , interest="兴趣/VARCHAR" , pic="图片/VARCHAR" , qq_token="qq接口返回的token值/VARCHAR" , qq_open_id="qq登录接口返回的openid/VARCHAR" , sina_id="新浪微博接口返回的用户id/VARCHAR" , sina_token="新浪微博接口返回的用户token/VARCHAR" , alipay_id="支付宝快捷登录ID/VARCHAR" , is_api="是不是通过第三方快速注册登录的/TINYINT" , end_date="截止日期/TIMESTAMP" , load_type="是否vip/INTEGER" , load_end_group_id="降级用户组/INTEGER" , last_login_device="	
最后一次登录的设备0 pc 1手机 2微信 3 APP 4小程序/INTEGER" , pro_id="省ID/INTEGER" , city_id="城市ID/INTEGER" , county_id="乡镇ID/INTEGER" , agent="推荐人/VARCHAR" , wei_xin_open_id="微信OpenID/VARCHAR" , inputer="录入者/VARCHAR" , item_id="选项ID/INTEGER" , child_id="子ID/INTEGER" , union_id="对接第三方的UnionID/VARCHAR" , app_id="对接第三方的AppID/VARCHAR" , is_weixin_unbind="是否绑定微信 1 解绑/TINYINT" , company_name="公司名称/VARCHAR" , pp_user_id="分销上上级id/INTEGER" , p_user_id="分销上级id/INTEGER" , totalMoney="总金额/DECIMAL" , order_device="设备/INTEGER" , setting="	
0原用户组|1降级用户组|2到期日期/VARCHAR" , salt="盐值/VARCHAR" , school_id="机构ID/INTEGER" , load_end_group_date="用户组降级日期/TIMESTAMP" , is_agent="是否为分销商/INTEGER" , is_ag="是否为代理商/INTEGER" , tags_ids="标签ID值/VARCHAR" , is_bind_gz="/INTEGER" , course_name="/VARCHAR" , picture="/VARCHAR" , ISRZ="/VARCHAR" , my_school_group_id="机构分组ID/INTEGER" , api_token="webapi访问的鉴权值/VARCHAR" , open_space="是否开启个人空间0否 1 是/TINYINT" , space_name="门户名称/VARCHAR" , zan_count="被点赞数/INTEGER" , collect_count="被收藏数/INTEGER" , hits="被浏览数/INTEGER" , sign="签名/LONGVARCHAR" , intro="简介/LONGVARCHAR" )
* </p>
* <p>

//对象 KsUser 属性解释：
* </p>
* <p>
(userId="用户ID号/Integer" , groupId="所属用户组ID/Integer" , askRankId="所属问答等级ID/Integer" , departId="所属部门ID/Integer" , userName="用户名/String" , password="登录密码（MD5加密）/String" , question="提问问题/String" , answer="问题答案/String" , email="邮件/String" , realName="真实姓名/String" , mobile="手机号码/String" , isMobileRz="手机是否经过实名认证/Byte" , sex="性别/String" , birthday="出生日期/String" , idCard="身份证号码/String" , address="联系地址/String" , homePage="个人主页/String" , userFace="头像/String" , privacy="隐私设置/Integer" , checkNum="激活码/String" , regDate="注册日期/Date" , joinDate="加入日期/Date" , lastLoginTime="最后登录的时间/Date" , lastLoginIp="最后登录的IP/String" , loginTimes="登录次数/Integer" , chargeType="收费模式/Integer" , beginDate="收费开始日期/Date" , eDays="有效天数/Integer" , money="可用金额/Long" , score="可用积分/Integer" , scoreHasUse="已消费积分/Integer" , point="可用点券/Long" , locked="0 正常 1锁定 2待人工审核 3待邮件验证/Integer" , rndPassword="随机密码（用于防止多人同时登录）/String" , zipcode="邮编/String" , interest="兴趣/String" , pic="图片/String" , qqToken="qq接口返回的token值/String" , qqOpenId="qq登录接口返回的openid/String" , sinaId="新浪微博接口返回的用户id/String" , sinaToken="新浪微博接口返回的用户token/String" , alipayId="支付宝快捷登录ID/String" , isApi="是不是通过第三方快速注册登录的/Byte" , endDate="截止日期/Date" , loadType="是否vip/Integer" , loadEndGroupId="降级用户组/Integer" , lastLoginDevice="	
最后一次登录的设备0 pc 1手机 2微信 3 APP 4小程序/Integer" , proId="省ID/Integer" , cityId="城市ID/Integer" , countyId="乡镇ID/Integer" , agent="推荐人/String" , weiXinOpenId="微信OpenID/String" , inputer="录入者/String" , itemId="选项ID/Integer" , childId="子ID/Integer" , unionId="对接第三方的UnionID/String" , appId="对接第三方的AppID/String" , isWeixinUnbind="是否绑定微信 1 解绑/Byte" , companyName="公司名称/String" , ppUserId="分销上上级id/Integer" , pUserId="分销上级id/Integer" , totalmoney="总金额/Long" , orderDevice="设备/Integer" , setting="	
0原用户组|1降级用户组|2到期日期/String" , salt="盐值/String" , schoolId="机构ID/Integer" , loadEndGroupDate="用户组降级日期/Date" , isAgent="是否为分销商/Integer" , isAg="是否为代理商/Integer" , tagsIds="标签ID值/String" , isBindGz="/Integer" , courseName="/String" , picture="/String" , isrz="/String" , mySchoolGroupId="机构分组ID/Integer" , apiToken="webapi访问的鉴权值/String" , openSpace="是否开启个人空间0否 1 是/Byte" , spaceName="门户名称/String" , zanCount="被点赞数/Integer" , collectCount="被收藏数/Integer" , hits="被浏览数/Integer" , sign="签名/String" , intro="简介/String" )
* </p>
* <p>

//对象 KsUser Json格式：
* </p>
* <p>
{"userId":"用户ID号/Integer" , "groupId":"所属用户组ID/Integer" , "askRankId":"所属问答等级ID/Integer" , "departId":"所属部门ID/Integer" , "userName":"用户名/String" , "password":"登录密码（MD5加密）/String" , "question":"提问问题/String" , "answer":"问题答案/String" , "email":"邮件/String" , "realName":"真实姓名/String" , "mobile":"手机号码/String" , "isMobileRz":"手机是否经过实名认证/Byte" , "sex":"性别/String" , "birthday":"出生日期/String" , "idCard":"身份证号码/String" , "address":"联系地址/String" , "homePage":"个人主页/String" , "userFace":"头像/String" , "privacy":"隐私设置/Integer" , "checkNum":"激活码/String" , "regDate":"注册日期/Date" , "joinDate":"加入日期/Date" , "lastLoginTime":"最后登录的时间/Date" , "lastLoginIp":"最后登录的IP/String" , "loginTimes":"登录次数/Integer" , "chargeType":"收费模式/Integer" , "beginDate":"收费开始日期/Date" , "eDays":"有效天数/Integer" , "money":"可用金额/Long" , "score":"可用积分/Integer" , "scoreHasUse":"已消费积分/Integer" , "point":"可用点券/Long" , "locked":"0 正常 1锁定 2待人工审核 3待邮件验证/Integer" , "rndPassword":"随机密码（用于防止多人同时登录）/String" , "zipcode":"邮编/String" , "interest":"兴趣/String" , "pic":"图片/String" , "qqToken":"qq接口返回的token值/String" , "qqOpenId":"qq登录接口返回的openid/String" , "sinaId":"新浪微博接口返回的用户id/String" , "sinaToken":"新浪微博接口返回的用户token/String" , "alipayId":"支付宝快捷登录ID/String" , "isApi":"是不是通过第三方快速注册登录的/Byte" , "endDate":"截止日期/Date" , "loadType":"是否vip/Integer" , "loadEndGroupId":"降级用户组/Integer" , "lastLoginDevice":"	
最后一次登录的设备0 pc 1手机 2微信 3 APP 4小程序/Integer" , "proId":"省ID/Integer" , "cityId":"城市ID/Integer" , "countyId":"乡镇ID/Integer" , "agent":"推荐人/String" , "weiXinOpenId":"微信OpenID/String" , "inputer":"录入者/String" , "itemId":"选项ID/Integer" , "childId":"子ID/Integer" , "unionId":"对接第三方的UnionID/String" , "appId":"对接第三方的AppID/String" , "isWeixinUnbind":"是否绑定微信 1 解绑/Byte" , "companyName":"公司名称/String" , "ppUserId":"分销上上级id/Integer" , "pUserId":"分销上级id/Integer" , "totalmoney":"总金额/Long" , "orderDevice":"设备/Integer" , "setting":"	
0原用户组|1降级用户组|2到期日期/String" , "salt":"盐值/String" , "schoolId":"机构ID/Integer" , "loadEndGroupDate":"用户组降级日期/Date" , "isAgent":"是否为分销商/Integer" , "isAg":"是否为代理商/Integer" , "tagsIds":"标签ID值/String" , "isBindGz":"/Integer" , "courseName":"/String" , "picture":"/String" , "isrz":"/String" , "mySchoolGroupId":"机构分组ID/Integer" , "apiToken":"webapi访问的鉴权值/String" , "openSpace":"是否开启个人空间0否 1 是/Byte" , "spaceName":"门户名称/String" , "zanCount":"被点赞数/Integer" , "collectCount":"被收藏数/Integer" , "hits":"被浏览数/Integer" , "sign":"签名/String" , "intro":"简介/String" }
* </p>


*/


@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@TableName("ks_user")
public class KsUser extends Model<KsUser> implements Serializable {
    /**
     * 用户ID号
     */
    @TableId(value = "user_id", type = IdType.AUTO)
    private Integer userId;

    /**
     * 所属用户组ID
     */
     @TableField("group_id") 
    private Integer groupId;

    /**
     * 所属问答等级ID
     */
     @TableField("ask_rank_id") 
    private Integer askRankId;

    /**
     * 所属部门ID
     */
     @TableField("depart_id") 
    private Integer departId;

    /**
     * 用户名
     */
     @TableField("user_name") 
    private String userName;

    /**
     * 登录密码（MD5加密）
     */
     @TableField("password") 
    private String password;

    /**
     * 提问问题
     */
     @TableField("question") 
    private String question;

    /**
     * 问题答案
     */
     @TableField("answer") 
    private String answer;

    /**
     * 邮件
     */
     @TableField("email") 
    private String email;

    /**
     * 真实姓名
     */
     @TableField("real_name") 
    private String realName;

    /**
     * 手机号码
     */
     @TableField("mobile") 
    private String mobile;

    /**
     * 手机是否经过实名认证
     */
     @TableField("is_mobile_rz") 
    private Byte isMobileRz;

    /**
     * 性别
     */
     @TableField("sex") 
    private String sex;

    /**
     * 出生日期
     */
     @TableField("birthday") 
    private String birthday;

    /**
     * 身份证号码
     */
     @TableField("id_card") 
    private String idCard;

    /**
     * 联系地址
     */
     @TableField("address") 
    private String address;

    /**
     * 个人主页
     */
     @TableField("home_page") 
    private String homePage;

    /**
     * 头像
     */
     @TableField("user_face") 
    private String userFace;

    /**
     * 隐私设置
     */
     @TableField("privacy") 
    private Integer privacy;

    /**
     * 激活码
     */
     @TableField("check_num") 
    private String checkNum;

    /**
     * 注册日期
     */
     @TableField("reg_date") 
    private Date regDate;

    /**
     * 加入日期
     */
     @TableField("join_date") 
    private Date joinDate;

    /**
     * 最后登录的时间
     */
     @TableField("last_login_time") 
    private Date lastLoginTime;

    /**
     * 最后登录的IP
     */
     @TableField("last_login_ip") 
    private String lastLoginIp;

    /**
     * 登录次数
     */
     @TableField("login_times") 
    private Integer loginTimes;

    /**
     * 收费模式
     */
     @TableField("charge_type") 
    private Integer chargeType;

    /**
     * 收费开始日期
     */
     @TableField("begin_date") 
    private Date beginDate;

    /**
     * 有效天数
     */
     @TableField("e_days") 
    private Integer eDays;

    /**
     * 可用金额
     */
     @TableField("money") 
    private Long money;

    /**
     * 可用积分
     */
     @TableField("score") 
    private Integer score;

    /**
     * 已消费积分
     */
     @TableField("score_has_use") 
    private Integer scoreHasUse;

    /**
     * 可用点券
     */
     @TableField("point") 
    private Long point;

    /**
     * 0 正常 1锁定 2待人工审核 3待邮件验证
     */
     @TableField("locked") 
    private Integer locked;

    /**
     * 随机密码（用于防止多人同时登录）
     */
     @TableField("rnd_password") 
    private String rndPassword;

    /**
     * 邮编
     */
     @TableField("zipcode") 
    private String zipcode;

    /**
     * 兴趣
     */
     @TableField("interest") 
    private String interest;

    /**
     * 图片
     */
     @TableField("pic") 
    private String pic;

    /**
     * qq接口返回的token值
     */
     @TableField("qq_token") 
    private String qqToken;

    /**
     * qq登录接口返回的openid
     */
     @TableField("qq_open_id") 
    private String qqOpenId;

    /**
     * 新浪微博接口返回的用户id
     */
     @TableField("sina_id") 
    private String sinaId;

    /**
     * 新浪微博接口返回的用户token
     */
     @TableField("sina_token") 
    private String sinaToken;

    /**
     * 支付宝快捷登录ID
     */
     @TableField("alipay_id") 
    private String alipayId;

    /**
     * 是不是通过第三方快速注册登录的
     */
     @TableField("is_api") 
    private Byte isApi;

    /**
     * 截止日期
     */
     @TableField("end_date") 
    private Date endDate;

    /**
     * 是否vip
     */
     @TableField("load_type") 
    private Integer loadType;

    /**
     * 降级用户组
     */
     @TableField("load_end_group_id") 
    private Integer loadEndGroupId;

    /**
     * 	
 最后一次登录的设备0 pc 1手机 2微信 3 APP 4小程序
     */
     @TableField("last_login_device") 
    private Integer lastLoginDevice;

    /**
     * 省ID
     */
     @TableField("pro_id") 
    private Integer proId;

    /**
     * 城市ID
     */
     @TableField("city_id") 
    private Integer cityId;

    /**
     * 乡镇ID
     */
     @TableField("county_id")
    private Integer countyId;

    /**
     * 推荐人
     */
     @TableField("agent") 
    private String agent;

    /**
     * 微信OpenID
     */
     @TableField("wei_xin_open_id") 
    private String weiXinOpenId;

    /**
     * 录入者
     */
     @TableField("inputer") 
    private String inputer;

    /**
     * 选项ID
     */
     @TableField("item_id") 
    private Integer itemId;

    /**
     * 子ID
     */
     @TableField("child_id") 
    private Integer childId;

    /**
     * 对接第三方的UnionID
     */
     @TableField("union_id") 
    private String unionId;

    /**
     * 对接第三方的AppID
     */
     @TableField("app_id") 
    private String appId;

    /**
     * 是否绑定微信 1 解绑
     */
     @TableField("is_weixin_unbind") 
    private Byte isWeixinUnbind;

    /**
     * 公司名称
     */
     @TableField("company_name") 
    private String companyName;

    /**
     * 分销上上级id
     */
     @TableField("pp_user_id") 
    private Integer ppUserId;

    /**
     * 分销上级id
     */
     @TableField("p_user_id") 
    private Integer pUserId;

    /**
     * 总金额
     */
     @TableField("totalMoney") 
    private Long totalmoney;

    /**
     * 设备
     */
     @TableField("order_device") 
    private Integer orderDevice;

    /**
     * 	
 0原用户组|1降级用户组|2到期日期
     */
     @TableField("setting") 
    private String setting;

    /**
     * 盐值
     */
     @TableField("salt") 
    private String salt;

    /**
     * 机构ID
     */
     @TableField("school_id") 
    private Integer schoolId;

    /**
     * 用户组降级日期
     */
     @TableField("load_end_group_date") 
    private Date loadEndGroupDate;

    /**
     * 是否为分销商
     */
     @TableField("is_agent") 
    private Integer isAgent;

    /**
     * 是否为代理商
     */
     @TableField("is_ag") 
    private Integer isAg;

    /**
     * 标签ID值
     */
     @TableField("tags_ids") 
    private String tagsIds;

    /**
     * 
     */
     @TableField("is_bind_gz") 
    private Integer isBindGz;

    /**
     * 
     */
     @TableField("course_name") 
    private String courseName;

    /**
     * 
     */
     @TableField("picture") 
    private String picture;

    /**
     * 
     */
     @TableField("ISRZ") 
    private String isrz;

    /**
     * 机构分组ID
     */
     @TableField("my_school_group_id") 
    private Integer mySchoolGroupId;

    /**
     * webapi访问的鉴权值
     */
     @TableField("api_token") 
    private String apiToken;

    /**
     * 是否开启个人空间0否 1 是
     */
     @TableField("open_space") 
    private Byte openSpace;

    /**
     * 门户名称
     */
     @TableField("space_name") 
    private String spaceName;

    /**
     * 被点赞数
     */
     @TableField("zan_count") 
    private Integer zanCount;

    /**
     * 被收藏数
     */
     @TableField("collect_count") 
    private Integer collectCount;

    /**
     * 被浏览数
     */
     @TableField("hits") 
    private Integer hits;

    @TableField(exist = false)
    private String token;

    @TableField(exist = false)
    private String loginType;

    private static final long serialVersionUID = 4056893169757350598L;

    @Override
    public Serializable pkVal() {
         return this.userId;
    }
}